#include <stdio.h>

// int main()
// {

//     printf("hello wrold\n");
//     printf("%#x\n", 221);
//     printf("%#X\n", 221);
//     // printf 内置函数  需要标准输出头文件 stdio.h
//     // printf 第一个参数必须是 字符串 ""
//     // printf 参数个数不一定 变参函数
//     // 第一个参数可以写  %d %c %s 占位符（确切应该叫转换规则）  后续参数依次替换

//     printf("%s\n", "hello");
//     printf("%d\n", 65);
//     printf("%c\n", 65);
//     printf("%p\n", "hello"); // 打印内存的地址(指针的值)
//     // f   hd  hhd ld lld    16x  8o

//     return 0;
// }

// format 标签属性是 %[flags标识][width宽度][.precision精度][length长度]specifier格式字符，
// flags标识  用什么补全
// width宽度  补全多少位
// .precision精度  小数后面保留多少
// length长度  h hh l ll 修饰格式字符

int main()
{

    int x = 1;
    printf("%d\n", x);
    printf("%5d\n", x);  // 空格填充总共5个字符
    printf("%05d\n", x); // 用0填充 补全
    printf("%#5x\n", x); // #补全0x  10代表用空格填充 x16进制

    float a = 3.1415926;
    printf("%d\n", a);
    printf("%f\n", a);
    printf("%.3f\n", a);
    return 0;
}